↳ ITRS
↳ ITRStoQTRSProof
z
cond2(FALSE, x, y) → +@z(1@z, diff(+@z(x, 1@z), y))
cond1(TRUE, x, y) → 0@z
cond2(TRUE, x, y) → +@z(1@z, diff(x, +@z(y, 1@z)))
diff(x, y) → cond1(=@z(x, y), x, y)
cond1(FALSE, x, y) → cond2(>@z(x, y), x, y)
cond2(FALSE, x0, x1)
cond1(TRUE, x0, x1)
cond2(TRUE, x0, x1)
diff(x0, x1)
cond1(FALSE, x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
cond2(false, x, y) → plus_int(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
cond1(true, x, y) → pos(0)
cond2(true, x, y) → plus_int(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
diff(x, y) → cond1(equal_int(x, y), x, y)
cond1(false, x, y) → cond2(greater_int(x, y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(false, x, y) → PLUS_INT(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
COND2(false, x, y) → PLUS_INT(pos(s(0)), x)
COND2(true, x, y) → PLUS_INT(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
COND2(true, x, y) → PLUS_INT(pos(s(0)), y)
DIFF(x, y) → COND1(equal_int(x, y), x, y)
DIFF(x, y) → EQUAL_INT(x, y)
COND1(false, x, y) → COND2(greater_int(x, y), x, y)
COND1(false, x, y) → GREATER_INT(x, y)
PLUS_INT(pos(x), neg(y)) → MINUS_NAT(x, y)
PLUS_INT(neg(x), pos(y)) → MINUS_NAT(y, x)
PLUS_INT(neg(x), neg(y)) → PLUS_NAT(x, y)
PLUS_INT(pos(x), pos(y)) → PLUS_NAT(x, y)
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
cond2(false, x, y) → plus_int(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
cond1(true, x, y) → pos(0)
cond2(true, x, y) → plus_int(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
diff(x, y) → cond1(equal_int(x, y), x, y)
cond1(false, x, y) → cond2(greater_int(x, y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
COND2(false, x, y) → PLUS_INT(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
COND2(false, x, y) → PLUS_INT(pos(s(0)), x)
COND2(true, x, y) → PLUS_INT(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
COND2(true, x, y) → PLUS_INT(pos(s(0)), y)
DIFF(x, y) → COND1(equal_int(x, y), x, y)
DIFF(x, y) → EQUAL_INT(x, y)
COND1(false, x, y) → COND2(greater_int(x, y), x, y)
COND1(false, x, y) → GREATER_INT(x, y)
PLUS_INT(pos(x), neg(y)) → MINUS_NAT(x, y)
PLUS_INT(neg(x), pos(y)) → MINUS_NAT(y, x)
PLUS_INT(neg(x), neg(y)) → PLUS_NAT(x, y)
PLUS_INT(pos(x), pos(y)) → PLUS_NAT(x, y)
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
cond2(false, x, y) → plus_int(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
cond1(true, x, y) → pos(0)
cond2(true, x, y) → plus_int(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
diff(x, y) → cond1(equal_int(x, y), x, y)
cond1(false, x, y) → cond2(greater_int(x, y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
cond2(false, x, y) → plus_int(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
cond1(true, x, y) → pos(0)
cond2(true, x, y) → plus_int(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
diff(x, y) → cond1(equal_int(x, y), x, y)
cond1(false, x, y) → cond2(greater_int(x, y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
No rules are removed from R.
GREATER_INT(neg(s(x)), neg(s(y))) → GREATER_INT(neg(x), neg(y))
POL(GREATER_INT(x1, x2)) = 2·x1 + x2
POL(neg(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
cond2(false, x, y) → plus_int(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
cond1(true, x, y) → pos(0)
cond2(true, x, y) → plus_int(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
diff(x, y) → cond1(equal_int(x, y), x, y)
cond1(false, x, y) → cond2(greater_int(x, y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
No rules are removed from R.
GREATER_INT(pos(s(x)), pos(s(y))) → GREATER_INT(pos(x), pos(y))
POL(GREATER_INT(x1, x2)) = 2·x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
cond2(false, x, y) → plus_int(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
cond1(true, x, y) → pos(0)
cond2(true, x, y) → plus_int(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
diff(x, y) → cond1(equal_int(x, y), x, y)
cond1(false, x, y) → cond2(greater_int(x, y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
No rules are removed from R.
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
POL(EQUAL_INT(x1, x2)) = 2·x1 + x2
POL(neg(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
cond2(false, x, y) → plus_int(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
cond1(true, x, y) → pos(0)
cond2(true, x, y) → plus_int(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
diff(x, y) → cond1(equal_int(x, y), x, y)
cond1(false, x, y) → cond2(greater_int(x, y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
No rules are removed from R.
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
POL(EQUAL_INT(x1, x2)) = 2·x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
cond2(false, x, y) → plus_int(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
cond1(true, x, y) → pos(0)
cond2(true, x, y) → plus_int(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
diff(x, y) → cond1(equal_int(x, y), x, y)
cond1(false, x, y) → cond2(greater_int(x, y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
cond2(false, x, y) → plus_int(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
cond1(true, x, y) → pos(0)
cond2(true, x, y) → plus_int(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
diff(x, y) → cond1(equal_int(x, y), x, y)
cond1(false, x, y) → cond2(greater_int(x, y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(x, y) → COND1(equal_int(x, y), x, y)
COND1(false, x, y) → COND2(greater_int(x, y), x, y)
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
cond2(false, x, y) → plus_int(pos(s(0)), diff(plus_int(pos(s(0)), x), y))
cond1(true, x, y) → pos(0)
cond2(true, x, y) → plus_int(pos(s(0)), diff(x, plus_int(pos(s(0)), y)))
diff(x, y) → cond1(equal_int(x, y), x, y)
cond1(false, x, y) → cond2(greater_int(x, y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(x, y) → COND1(equal_int(x, y), x, y)
COND1(false, x, y) → COND2(greater_int(x, y), x, y)
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
cond2(false, x0, x1)
cond1(true, x0, x1)
cond2(true, x0, x1)
diff(x0, x1)
cond1(false, x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(x, y) → COND1(equal_int(x, y), x, y)
COND1(false, x, y) → COND2(greater_int(x, y), x, y)
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ RemovalProof
↳ Narrowing
COND2(false, x, y, x_removed) → DIFF(plus_int(x_removed, x), y, x_removed)
DIFF(x, y, x_removed) → COND1(equal_int(x, y), x, y, x_removed)
COND1(false, x, y, x_removed) → COND2(greater_int(x, y), x, y, x_removed)
COND2(true, x, y, x_removed) → DIFF(x, plus_int(x_removed, y), x_removed)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ QDP
↳ Narrowing
COND2(false, x, y, x_removed) → DIFF(plus_int(x_removed, x), y, x_removed)
DIFF(x, y, x_removed) → COND1(equal_int(x, y), x, y, x_removed)
COND1(false, x, y, x_removed) → COND2(greater_int(x, y), x, y, x_removed)
COND2(true, x, y, x_removed) → DIFF(x, plus_int(x_removed, y), x_removed)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(pos(0), neg(0)) → COND1(true, pos(0), neg(0))
DIFF(neg(0), pos(0)) → COND1(true, neg(0), pos(0))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
DIFF(neg(0), neg(0)) → COND1(true, neg(0), neg(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
DIFF(pos(0), pos(0)) → COND1(true, pos(0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
COND1(false, x, y) → COND2(greater_int(x, y), x, y)
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(pos(0), neg(0)) → COND1(true, pos(0), neg(0))
DIFF(neg(0), pos(0)) → COND1(true, neg(0), pos(0))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
DIFF(neg(0), neg(0)) → COND1(true, neg(0), neg(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
DIFF(pos(0), pos(0)) → COND1(true, pos(0), pos(0))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
COND1(false, x, y) → COND2(greater_int(x, y), x, y)
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
COND1(false, x, y) → COND2(greater_int(x, y), x, y)
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND1(false, neg(0), pos(0)) → COND2(false, neg(0), pos(0))
COND1(false, pos(0), neg(0)) → COND2(false, pos(0), neg(0))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
COND1(false, neg(0), neg(0)) → COND2(false, neg(0), neg(0))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
COND1(false, pos(0), pos(0)) → COND2(false, pos(0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND1(false, neg(0), pos(0)) → COND2(false, neg(0), pos(0))
COND1(false, pos(0), neg(0)) → COND2(false, pos(0), neg(0))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
COND1(false, neg(0), neg(0)) → COND2(false, neg(0), neg(0))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
COND1(false, pos(0), pos(0)) → COND2(false, pos(0), pos(0))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), neg(0)) → false
greater_int(neg(0), pos(0)) → false
greater_int(neg(0), neg(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(neg(0), pos(s(y))) → false
greater_int(pos(0), neg(s(y))) → true
greater_int(neg(0), neg(s(y))) → true
greater_int(pos(s(x)), pos(0)) → true
greater_int(neg(s(x)), pos(0)) → false
greater_int(pos(s(x)), neg(0)) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(pos(s(x)), neg(s(y))) → true
greater_int(neg(s(x)), pos(s(y))) → false
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
COND2(true, x, y) → DIFF(x, plus_int(pos(s(0)), y))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(plus_nat(s(0), x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(plus_nat(s(0), x1)))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(plus_nat(0, x1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(plus_nat(0, x1))))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, x, y) → DIFF(plus_int(pos(s(0)), x), y)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(plus_nat(s(0), x1)), y1)
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(plus_nat(s(0), x1)), y1)
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(plus_nat(s(0), x1)), y1)
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
plus_nat(s(x), y) → s(plus_nat(x, y))
plus_nat(0, x) → x
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(plus_nat(s(0), x1)), y1)
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
plus_nat(s(x), y) → s(plus_nat(x, y))
plus_nat(0, x) → x
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(s(plus_nat(0, x1))), y1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
COND2(false, pos(x1), y1) → DIFF(pos(s(plus_nat(0, x1))), y1)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
plus_nat(s(x), y) → s(plus_nat(x, y))
plus_nat(0, x) → x
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
COND2(false, pos(x1), y1) → DIFF(pos(s(plus_nat(0, x1))), y1)
plus_nat(0, x) → x
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
plus_nat(0, x) → x
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
plus_nat(0, x0)
plus_nat(s(x0), x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, neg(x1)) → DIFF(y0, minus_nat(s(0), x1))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), minus_nat(s(0), 0))
COND2(true, pos(0), neg(s(z0))) → DIFF(pos(0), minus_nat(s(0), s(z0)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(s(0), s(z1)))
COND2(true, neg(0), neg(s(z0))) → DIFF(neg(0), minus_nat(s(0), s(z0)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(s(0), s(z1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), minus_nat(s(0), 0))
COND2(true, pos(0), neg(s(z0))) → DIFF(pos(0), minus_nat(s(0), s(z0)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(s(0), s(z1)))
COND2(true, neg(0), neg(s(z0))) → DIFF(neg(0), minus_nat(s(0), s(z0)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(s(0), s(z1)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
COND2(true, pos(0), neg(s(z0))) → DIFF(pos(0), minus_nat(s(0), s(z0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), minus_nat(s(0), 0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(s(0), s(z1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(s(0), s(z1)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, pos(0), neg(s(z0))) → DIFF(pos(0), minus_nat(0, z0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), minus_nat(s(0), 0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(s(0), s(z1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(s(0), s(z1)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
COND2(true, pos(0), neg(s(z0))) → DIFF(pos(0), minus_nat(0, z0))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
COND2(true, pos(0), neg(s(z0))) → DIFF(pos(0), minus_nat(0, z0))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
COND2(true, pos(0), neg(s(z0))) → DIFF(pos(0), minus_nat(0, z0))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
COND2(true, pos(0), neg(s(z0))) → DIFF(pos(0), minus_nat(0, z0))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND2(true, pos(0), neg(s(0))) → DIFF(pos(0), pos(0))
COND2(true, pos(0), neg(s(s(x0)))) → DIFF(pos(0), neg(s(x0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
COND2(true, pos(0), neg(s(0))) → DIFF(pos(0), pos(0))
COND2(true, pos(0), neg(s(s(x0)))) → DIFF(pos(0), neg(s(x0)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
COND2(true, pos(0), neg(s(s(x0)))) → DIFF(pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
COND2(true, pos(0), neg(s(s(x0)))) → DIFF(pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
COND2(true, pos(0), neg(s(s(x0)))) → DIFF(pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
COND1(false, pos(0), neg(s(x0))) → COND2(true, pos(0), neg(s(x0)))
COND1(false, pos(0), neg(s(s(y_0)))) → COND2(true, pos(0), neg(s(s(y_0))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
COND2(true, pos(0), neg(s(s(x0)))) → DIFF(pos(0), neg(s(x0)))
DIFF(pos(0), neg(s(x0))) → COND1(false, pos(0), neg(s(x0)))
COND1(false, pos(0), neg(s(s(y_0)))) → COND2(true, pos(0), neg(s(s(y_0))))
DIFF(pos(0), neg(s(s(y_0)))) → COND1(false, pos(0), neg(s(s(y_0))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
COND2(true, pos(0), neg(s(s(x0)))) → DIFF(pos(0), neg(s(x0)))
COND1(false, pos(0), neg(s(s(y_0)))) → COND2(true, pos(0), neg(s(s(y_0))))
DIFF(pos(0), neg(s(s(y_0)))) → COND1(false, pos(0), neg(s(s(y_0))))
COND2(true, pos(0), neg(s(s(s(y_0))))) → DIFF(pos(0), neg(s(s(y_0))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ QDP
COND1(false, pos(0), neg(s(s(y_0)))) → COND2(true, pos(0), neg(s(s(y_0))))
DIFF(pos(0), neg(s(s(y_0)))) → COND1(false, pos(0), neg(s(s(y_0))))
COND2(true, pos(0), neg(s(s(s(y_0))))) → DIFF(pos(0), neg(s(s(y_0))))
COND1(false, pos(0), neg(s(s(y_0)))) → COND2(true, pos(0), neg(s(s(y_0))))
DIFF(pos(0), neg(s(s(y_0)))) → COND1(false, pos(0), neg(s(s(y_0))))
COND2(true, pos(0), neg(s(s(s(y_0))))) → DIFF(pos(0), neg(s(s(y_0))))
POL(0) = 0
POL(COND1(x1, x2, x3)) = 1 + x1 + x2 + x3
POL(COND2(x1, x2, x3)) = x1 + x2 + x3
POL(DIFF(x1, x2)) = 2 + x1 + x2
POL(false) = 0
POL(neg(x1)) = x1
POL(pos(x1)) = x1
POL(s(x1)) = 3 + x1
POL(true) = 0
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), minus_nat(s(0), 0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(s(0), s(z1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(s(0), s(z1)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(s(0), s(z1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(s(0), s(z1)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(0, z1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(s(0), s(z1)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(0, z1))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(0, z1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, y0, pos(x1)) → DIFF(y0, pos(s(x1)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(0, z1))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(0, z1))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(0)) → DIFF(pos(s(z0)), pos(s(0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
DIFF(neg(0), pos(s(x0))) → COND1(false, neg(0), pos(s(x0)))
COND1(false, neg(0), pos(s(x0))) → COND2(false, neg(0), pos(s(x0)))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(pos(0), pos(s(x0))) → COND1(false, pos(0), pos(s(x0)))
COND1(false, pos(0), pos(s(x0))) → COND2(false, pos(0), pos(s(x0)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(0, z1))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(0, z1))
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(0)) → DIFF(pos(s(z0)), pos(s(0)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(0, z1))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
COND2(true, pos(s(z0)), pos(0)) → DIFF(pos(s(z0)), pos(s(0)))
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), neg(s(z1))) → DIFF(pos(s(z0)), minus_nat(0, z1))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
COND2(true, pos(s(z0)), pos(0)) → DIFF(pos(s(z0)), pos(s(0)))
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, pos(s(y0)), neg(s(s(x0)))) → DIFF(pos(s(y0)), neg(s(x0)))
COND2(true, pos(s(y0)), neg(s(0))) → DIFF(pos(s(y0)), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
COND2(true, pos(s(z0)), pos(0)) → DIFF(pos(s(z0)), pos(s(0)))
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(y0)), neg(s(s(x0)))) → DIFF(pos(s(y0)), neg(s(x0)))
COND2(true, pos(s(y0)), neg(s(0))) → DIFF(pos(s(y0)), pos(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
COND2(true, pos(s(z0)), pos(0)) → DIFF(pos(s(z0)), pos(s(0)))
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(y0)), neg(s(s(x0)))) → DIFF(pos(s(y0)), neg(s(x0)))
COND2(true, pos(s(y0)), neg(s(0))) → DIFF(pos(s(y0)), pos(0))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(false, pos(x1), y1) → DIFF(pos(s(x1)), y1)
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
COND2(true, pos(s(z0)), pos(0)) → DIFF(pos(s(z0)), pos(s(0)))
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(y0)), neg(s(s(x0)))) → DIFF(pos(s(y0)), neg(s(x0)))
COND2(true, pos(s(y0)), neg(s(0))) → DIFF(pos(s(y0)), pos(0))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(false, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(z1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
COND1(false, pos(s(x0)), neg(0)) → COND2(true, pos(s(x0)), neg(0))
COND2(true, pos(s(z0)), neg(0)) → DIFF(pos(s(z0)), pos(s(0)))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
DIFF(pos(s(x0)), neg(0)) → COND1(false, pos(s(x0)), neg(0))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
DIFF(pos(s(x0)), pos(0)) → COND1(false, pos(s(x0)), pos(0))
COND1(false, pos(s(x0)), pos(0)) → COND2(true, pos(s(x0)), pos(0))
COND2(true, pos(s(z0)), pos(0)) → DIFF(pos(s(z0)), pos(s(0)))
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(y0)), neg(s(s(x0)))) → DIFF(pos(s(y0)), neg(s(x0)))
COND2(true, pos(s(y0)), neg(s(0))) → DIFF(pos(s(y0)), pos(0))
COND2(false, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(z1)))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ QDP
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
DIFF(pos(s(x0)), pos(s(x1))) → COND1(equal_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(false, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(z1)))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
DIFF(pos(s(z0)), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
DIFF(pos(s(s(z0))), pos(s(z1))) → COND1(equal_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ QDP
COND1(false, pos(s(x0)), pos(s(x1))) → COND2(greater_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1)))
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
DIFF(pos(s(s(z0))), pos(s(z1))) → COND1(equal_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, pos(s(s(z0))), pos(s(z1))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ QDP
COND2(true, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(z0)), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
DIFF(pos(s(s(z0))), pos(s(z1))) → COND1(equal_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(s(z0))), pos(s(z1))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ QDP
COND2(false, pos(s(z0)), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
DIFF(pos(s(s(z0))), pos(s(z1))) → COND1(equal_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(s(z0))), pos(s(z1))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ QDP
DIFF(pos(s(z0)), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
DIFF(pos(s(s(z0))), pos(s(z1))) → COND1(equal_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(s(z0))), pos(s(z1))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(s(z0))), pos(s(x1))), pos(s(s(s(z0)))), pos(s(s(x1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
DIFF(pos(s(s(z0))), pos(s(z1))) → COND1(equal_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(s(z0))), pos(s(z1))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(s(z0))), pos(s(x1))), pos(s(s(s(z0)))), pos(s(s(x1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
DIFF(pos(s(s(z0))), pos(s(z1))) → COND1(equal_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(s(z0))), pos(s(z1))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(s(z0))), pos(s(x1))), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ QDP
DIFF(pos(s(s(z0))), pos(s(z1))) → COND1(equal_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(s(z0))), pos(s(z1))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(s(x0)), pos(s(s(z1)))), pos(s(s(x0))), pos(s(s(s(z1)))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
COND1(false, pos(s(s(z0))), pos(s(z1))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(s(x0)), pos(s(s(z1)))), pos(s(s(x0))), pos(s(s(s(z1)))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
COND1(false, pos(s(s(z0))), pos(s(z1))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(s(x0)), pos(s(s(z1)))), pos(s(s(x0))), pos(s(s(s(z1)))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ QDP
COND1(false, pos(s(s(z0))), pos(s(z1))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(z0))), pos(s(z1)))
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(s(x0)), pos(s(s(z1)))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(s(z0))), pos(s(z1))), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(s(x0)), pos(s(s(z1)))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(s(z0))), pos(s(z1))), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(s(z0))), pos(s(z1))), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(s(z0)))), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(s(z0)))), pos(s(s(z1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ QDP
COND1(false, pos(s(z0)), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1))))
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, pos(s(s(z0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(s(z0)), pos(s(s(z1)))), pos(s(s(z0))), pos(s(s(s(z1)))))
COND1(false, pos(s(z0)), pos(s(s(s(z1))))) → COND2(greater_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(s(z0))), pos(s(z1))), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(s(z0)), pos(s(s(z1)))), pos(s(s(z0))), pos(s(s(s(z1)))))
COND1(false, pos(s(z0)), pos(s(s(s(z1))))) → COND2(greater_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(s(z0))), pos(s(z1))), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, pos(s(s(z0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(z0), pos(s(z1))), pos(s(s(z0))), pos(s(s(s(z1)))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
COND1(false, pos(s(z0)), pos(s(s(s(z1))))) → COND2(greater_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(s(z0))), pos(s(z1))), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(s(z0)))), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
COND1(false, pos(s(z0)), pos(s(s(s(z1))))) → COND2(greater_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(s(z1))), pos(s(s(z0))), pos(s(s(z1))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
COND1(false, pos(s(z0)), pos(s(s(s(z1))))) → COND2(greater_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
↳ QDP
↳ QDP
↳ QDP
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
COND1(false, pos(s(z0)), pos(s(s(s(z1))))) → COND2(greater_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(pos(0), pos(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), pos(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), pos(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(pos(s(x0)), pos(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ QReductionProof
↳ QDP
↳ MNOCProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND2(true, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(z0)), pos(s(s(s(z1)))))
COND2(true, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(z0)), pos(s(s(z1)))) → DIFF(pos(s(s(z0))), pos(s(s(z1))))
COND2(false, pos(s(s(z0))), pos(s(z1))) → DIFF(pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(z0)), pos(s(s(s(z1))))) → COND1(equal_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
DIFF(pos(s(s(z0))), pos(s(s(z1)))) → COND1(equal_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
DIFF(pos(s(s(s(z0)))), pos(s(s(x1)))) → COND1(equal_int(pos(s(z0)), pos(x1)), pos(s(s(s(z0)))), pos(s(s(x1))))
DIFF(pos(s(s(s(z0)))), pos(s(z1))) → COND1(equal_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
DIFF(pos(s(s(x0))), pos(s(s(s(z1))))) → COND1(equal_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(z1))) → COND2(greater_int(pos(s(s(z0))), pos(z1)), pos(s(s(s(z0)))), pos(s(z1)))
COND1(false, pos(s(s(x0))), pos(s(s(s(z1))))) → COND2(greater_int(pos(x0), pos(s(z1))), pos(s(s(x0))), pos(s(s(s(z1)))))
COND1(false, pos(s(s(s(z0)))), pos(s(s(z1)))) → COND2(greater_int(pos(s(z0)), pos(z1)), pos(s(s(s(z0)))), pos(s(s(z1))))
COND1(false, pos(s(s(z0))), pos(s(s(z1)))) → COND2(greater_int(pos(z0), pos(z1)), pos(s(s(z0))), pos(s(s(z1))))
COND1(false, pos(s(z0)), pos(s(s(s(z1))))) → COND2(greater_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1)))))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
COND2(true, pos(s(y0)), neg(s(s(x0)))) → DIFF(pos(s(y0)), neg(s(x0)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
COND2(true, pos(s(y0)), neg(s(s(x0)))) → DIFF(pos(s(y0)), neg(s(x0)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
COND2(true, pos(s(y0)), neg(s(s(x0)))) → DIFF(pos(s(y0)), neg(s(x0)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(x1))) → COND2(true, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(s(y_1)))) → COND2(true, pos(s(x0)), neg(s(s(y_1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
COND2(true, pos(s(y0)), neg(s(s(x0)))) → DIFF(pos(s(y0)), neg(s(x0)))
DIFF(pos(s(x0)), neg(s(x1))) → COND1(false, pos(s(x0)), neg(s(x1)))
COND1(false, pos(s(x0)), neg(s(s(y_1)))) → COND2(true, pos(s(x0)), neg(s(s(y_1))))
DIFF(pos(s(x0)), neg(s(s(y_1)))) → COND1(false, pos(s(x0)), neg(s(s(y_1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
COND2(true, pos(s(y0)), neg(s(s(x0)))) → DIFF(pos(s(y0)), neg(s(x0)))
COND1(false, pos(s(x0)), neg(s(s(y_1)))) → COND2(true, pos(s(x0)), neg(s(s(y_1))))
DIFF(pos(s(x0)), neg(s(s(y_1)))) → COND1(false, pos(s(x0)), neg(s(s(y_1))))
COND2(true, pos(s(x0)), neg(s(s(s(y_1))))) → DIFF(pos(s(x0)), neg(s(s(y_1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ QDP
COND1(false, pos(s(x0)), neg(s(s(y_1)))) → COND2(true, pos(s(x0)), neg(s(s(y_1))))
DIFF(pos(s(x0)), neg(s(s(y_1)))) → COND1(false, pos(s(x0)), neg(s(s(y_1))))
COND2(true, pos(s(x0)), neg(s(s(s(y_1))))) → DIFF(pos(s(x0)), neg(s(s(y_1))))
COND1(false, pos(s(x0)), neg(s(s(y_1)))) → COND2(true, pos(s(x0)), neg(s(s(y_1))))
DIFF(pos(s(x0)), neg(s(s(y_1)))) → COND1(false, pos(s(x0)), neg(s(s(y_1))))
COND2(true, pos(s(x0)), neg(s(s(s(y_1))))) → DIFF(pos(s(x0)), neg(s(s(y_1))))
POL(COND1(x1, x2, x3)) = 1 + x1 + x2 + x3
POL(COND2(x1, x2, x3)) = x1 + x2 + x3
POL(DIFF(x1, x2)) = 2 + x1 + x2
POL(false) = 0
POL(neg(x1)) = x1
POL(pos(x1)) = x1
POL(s(x1)) = 3 + x1
POL(true) = 0
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(0, z1))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
COND2(false, neg(x1), y1) → DIFF(minus_nat(s(0), x1), y1)
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(0, z1))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(false, neg(s(z0)), pos(0)) → DIFF(minus_nat(s(0), s(z0)), pos(0))
COND2(false, neg(s(z0)), pos(s(z1))) → DIFF(minus_nat(s(0), s(z0)), pos(s(z1)))
COND2(false, neg(s(z0)), neg(0)) → DIFF(minus_nat(s(0), s(z0)), neg(0))
COND2(false, neg(s(z0)), neg(s(z1))) → DIFF(minus_nat(s(0), s(z0)), neg(s(z1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(0, z1))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
COND2(false, neg(s(z0)), pos(0)) → DIFF(minus_nat(s(0), s(z0)), pos(0))
COND2(false, neg(s(z0)), pos(s(z1))) → DIFF(minus_nat(s(0), s(z0)), pos(s(z1)))
COND2(false, neg(s(z0)), neg(0)) → DIFF(minus_nat(s(0), s(z0)), neg(0))
COND2(false, neg(s(z0)), neg(s(z1))) → DIFF(minus_nat(s(0), s(z0)), neg(s(z1)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
COND2(false, neg(s(z0)), neg(0)) → DIFF(minus_nat(s(0), s(z0)), neg(0))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
COND2(false, neg(s(z0)), neg(0)) → DIFF(minus_nat(s(0), s(z0)), neg(0))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
COND2(false, neg(s(z0)), neg(0)) → DIFF(minus_nat(s(0), s(z0)), neg(0))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND2(false, neg(s(z0)), neg(0)) → DIFF(minus_nat(0, z0), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND2(false, neg(s(z0)), neg(0)) → DIFF(minus_nat(0, z0), neg(0))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND2(false, neg(s(z0)), neg(0)) → DIFF(minus_nat(0, z0), neg(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND2(false, neg(s(0)), neg(0)) → DIFF(pos(0), neg(0))
COND2(false, neg(s(s(x0))), neg(0)) → DIFF(neg(s(x0)), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND2(false, neg(s(0)), neg(0)) → DIFF(pos(0), neg(0))
COND2(false, neg(s(s(x0))), neg(0)) → DIFF(neg(s(x0)), neg(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), neg(0)) → DIFF(neg(s(x0)), neg(0))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), neg(0)) → DIFF(neg(s(x0)), neg(0))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), neg(0)) → DIFF(neg(s(x0)), neg(0))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(x0)), neg(0)) → COND2(false, neg(s(x0)), neg(0))
COND1(false, neg(s(s(y_0))), neg(0)) → COND2(false, neg(s(s(y_0))), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), neg(0)) → DIFF(neg(s(x0)), neg(0))
DIFF(neg(s(x0)), neg(0)) → COND1(false, neg(s(x0)), neg(0))
COND1(false, neg(s(s(y_0))), neg(0)) → COND2(false, neg(s(s(y_0))), neg(0))
DIFF(neg(s(s(y_0))), neg(0)) → COND1(false, neg(s(s(y_0))), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), neg(0)) → DIFF(neg(s(x0)), neg(0))
COND1(false, neg(s(s(y_0))), neg(0)) → COND2(false, neg(s(s(y_0))), neg(0))
DIFF(neg(s(s(y_0))), neg(0)) → COND1(false, neg(s(s(y_0))), neg(0))
COND2(false, neg(s(s(s(y_0)))), neg(0)) → DIFF(neg(s(s(y_0))), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(s(y_0))), neg(0)) → COND2(false, neg(s(s(y_0))), neg(0))
DIFF(neg(s(s(y_0))), neg(0)) → COND1(false, neg(s(s(y_0))), neg(0))
COND2(false, neg(s(s(s(y_0)))), neg(0)) → DIFF(neg(s(s(y_0))), neg(0))
COND1(false, neg(s(s(y_0))), neg(0)) → COND2(false, neg(s(s(y_0))), neg(0))
DIFF(neg(s(s(y_0))), neg(0)) → COND1(false, neg(s(s(y_0))), neg(0))
COND2(false, neg(s(s(s(y_0)))), neg(0)) → DIFF(neg(s(s(y_0))), neg(0))
POL(0) = 0
POL(COND1(x1, x2, x3)) = 1 + x1 + x2 + x3
POL(COND2(x1, x2, x3)) = x1 + x2 + x3
POL(DIFF(x1, x2)) = 2 + x1 + x2
POL(false) = 0
POL(neg(x1)) = x1
POL(s(x1)) = 3 + x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
COND2(false, neg(s(z0)), pos(s(z1))) → DIFF(minus_nat(s(0), s(z0)), pos(s(z1)))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
COND2(false, neg(s(z0)), pos(s(z1))) → DIFF(minus_nat(s(0), s(z0)), pos(s(z1)))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
COND2(false, neg(s(z0)), pos(s(z1))) → DIFF(minus_nat(s(0), s(z0)), pos(s(z1)))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND2(false, neg(s(z0)), pos(s(z1))) → DIFF(minus_nat(0, z0), pos(s(z1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND2(false, neg(s(z0)), pos(s(z1))) → DIFF(minus_nat(0, z0), pos(s(z1)))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND2(false, neg(s(z0)), pos(s(z1))) → DIFF(minus_nat(0, z0), pos(s(z1)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND2(false, neg(s(s(x0))), pos(s(y1))) → DIFF(neg(s(x0)), pos(s(y1)))
COND2(false, neg(s(0)), pos(s(y1))) → DIFF(pos(0), pos(s(y1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND2(false, neg(s(s(x0))), pos(s(y1))) → DIFF(neg(s(x0)), pos(s(y1)))
COND2(false, neg(s(0)), pos(s(y1))) → DIFF(pos(0), pos(s(y1)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), pos(s(y1))) → DIFF(neg(s(x0)), pos(s(y1)))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), pos(s(y1))) → DIFF(neg(s(x0)), pos(s(y1)))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), pos(s(y1))) → DIFF(neg(s(x0)), pos(s(y1)))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(x0)), pos(s(x1))) → COND2(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(s(y_0))), pos(s(x1))) → COND2(false, neg(s(s(y_0))), pos(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), pos(s(y1))) → DIFF(neg(s(x0)), pos(s(y1)))
DIFF(neg(s(x0)), pos(s(x1))) → COND1(false, neg(s(x0)), pos(s(x1)))
COND1(false, neg(s(s(y_0))), pos(s(x1))) → COND2(false, neg(s(s(y_0))), pos(s(x1)))
DIFF(neg(s(s(y_0))), pos(s(x1))) → COND1(false, neg(s(s(y_0))), pos(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), pos(s(y1))) → DIFF(neg(s(x0)), pos(s(y1)))
COND1(false, neg(s(s(y_0))), pos(s(x1))) → COND2(false, neg(s(s(y_0))), pos(s(x1)))
DIFF(neg(s(s(y_0))), pos(s(x1))) → COND1(false, neg(s(s(y_0))), pos(s(x1)))
COND2(false, neg(s(s(s(y_0)))), pos(s(x1))) → DIFF(neg(s(s(y_0))), pos(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ QDP
↳ QDP
COND1(false, neg(s(s(y_0))), pos(s(x1))) → COND2(false, neg(s(s(y_0))), pos(s(x1)))
DIFF(neg(s(s(y_0))), pos(s(x1))) → COND1(false, neg(s(s(y_0))), pos(s(x1)))
COND2(false, neg(s(s(s(y_0)))), pos(s(x1))) → DIFF(neg(s(s(y_0))), pos(s(x1)))
COND1(false, neg(s(s(y_0))), pos(s(x1))) → COND2(false, neg(s(s(y_0))), pos(s(x1)))
DIFF(neg(s(s(y_0))), pos(s(x1))) → COND1(false, neg(s(s(y_0))), pos(s(x1)))
COND2(false, neg(s(s(s(y_0)))), pos(s(x1))) → DIFF(neg(s(s(y_0))), pos(s(x1)))
POL(COND1(x1, x2, x3)) = 1 + x1 + x2 + x3
POL(COND2(x1, x2, x3)) = x1 + x2 + x3
POL(DIFF(x1, x2)) = 2 + x1 + x2
POL(false) = 0
POL(neg(x1)) = x1
POL(pos(x1)) = x1
POL(s(x1)) = 3 + x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
COND2(false, neg(s(z0)), pos(0)) → DIFF(minus_nat(s(0), s(z0)), pos(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
COND2(false, neg(s(z0)), pos(0)) → DIFF(minus_nat(s(0), s(z0)), pos(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
COND2(false, neg(s(z0)), pos(0)) → DIFF(minus_nat(s(0), s(z0)), pos(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND2(false, neg(s(z0)), pos(0)) → DIFF(minus_nat(0, z0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND2(false, neg(s(z0)), pos(0)) → DIFF(minus_nat(0, z0), pos(0))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND2(false, neg(s(z0)), pos(0)) → DIFF(minus_nat(0, z0), pos(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND2(false, neg(s(0)), pos(0)) → DIFF(pos(0), pos(0))
COND2(false, neg(s(s(x0))), pos(0)) → DIFF(neg(s(x0)), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND2(false, neg(s(0)), pos(0)) → DIFF(pos(0), pos(0))
COND2(false, neg(s(s(x0))), pos(0)) → DIFF(neg(s(x0)), pos(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), pos(0)) → DIFF(neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), pos(0)) → DIFF(neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), pos(0)) → DIFF(neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(x0)), pos(0)) → COND2(false, neg(s(x0)), pos(0))
COND1(false, neg(s(s(y_0))), pos(0)) → COND2(false, neg(s(s(y_0))), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), pos(0)) → DIFF(neg(s(x0)), pos(0))
DIFF(neg(s(x0)), pos(0)) → COND1(false, neg(s(x0)), pos(0))
COND1(false, neg(s(s(y_0))), pos(0)) → COND2(false, neg(s(s(y_0))), pos(0))
DIFF(neg(s(s(y_0))), pos(0)) → COND1(false, neg(s(s(y_0))), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
COND2(false, neg(s(s(x0))), pos(0)) → DIFF(neg(s(x0)), pos(0))
COND1(false, neg(s(s(y_0))), pos(0)) → COND2(false, neg(s(s(y_0))), pos(0))
DIFF(neg(s(s(y_0))), pos(0)) → COND1(false, neg(s(s(y_0))), pos(0))
COND2(false, neg(s(s(s(y_0)))), pos(0)) → DIFF(neg(s(s(y_0))), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ QDP
COND1(false, neg(s(s(y_0))), pos(0)) → COND2(false, neg(s(s(y_0))), pos(0))
DIFF(neg(s(s(y_0))), pos(0)) → COND1(false, neg(s(s(y_0))), pos(0))
COND2(false, neg(s(s(s(y_0)))), pos(0)) → DIFF(neg(s(s(y_0))), pos(0))
COND1(false, neg(s(s(y_0))), pos(0)) → COND2(false, neg(s(s(y_0))), pos(0))
DIFF(neg(s(s(y_0))), pos(0)) → COND1(false, neg(s(s(y_0))), pos(0))
COND2(false, neg(s(s(s(y_0)))), pos(0)) → DIFF(neg(s(s(y_0))), pos(0))
POL(0) = 0
POL(COND1(x1, x2, x3)) = 1 + x1 + x2 + x3
POL(COND2(x1, x2, x3)) = x1 + x2 + x3
POL(DIFF(x1, x2)) = 2 + x1 + x2
POL(false) = 0
POL(neg(x1)) = x1
POL(pos(x1)) = x1
POL(s(x1)) = 3 + x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(0, z1))
COND2(false, neg(s(z0)), neg(s(z1))) → DIFF(minus_nat(s(0), s(z0)), neg(s(z1)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(false, neg(s(z0)), neg(s(z1))) → DIFF(minus_nat(0, z0), neg(s(z1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(0, z1))
COND2(false, neg(s(z0)), neg(s(z1))) → DIFF(minus_nat(0, z0), neg(s(z1)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(z0)), neg(s(z1))) → DIFF(neg(s(z0)), minus_nat(0, z1))
COND2(false, neg(s(z0)), neg(s(z1))) → DIFF(minus_nat(0, z0), neg(s(z1)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(y0)), neg(s(0))) → DIFF(neg(s(y0)), pos(0))
COND2(true, neg(s(y0)), neg(s(s(x0)))) → DIFF(neg(s(y0)), neg(s(x0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(false, neg(s(z0)), neg(s(z1))) → DIFF(minus_nat(0, z0), neg(s(z1)))
COND2(true, neg(s(y0)), neg(s(0))) → DIFF(neg(s(y0)), pos(0))
COND2(true, neg(s(y0)), neg(s(s(x0)))) → DIFF(neg(s(y0)), neg(s(x0)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(false, neg(s(z0)), neg(s(z1))) → DIFF(minus_nat(0, z0), neg(s(z1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(y0)), neg(s(s(x0)))) → DIFF(neg(s(y0)), neg(s(x0)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(false, neg(s(s(x0))), neg(s(y1))) → DIFF(neg(s(x0)), neg(s(y1)))
COND2(false, neg(s(0)), neg(s(y1))) → DIFF(pos(0), neg(s(y1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(y0)), neg(s(s(x0)))) → DIFF(neg(s(y0)), neg(s(x0)))
COND2(false, neg(s(s(x0))), neg(s(y1))) → DIFF(neg(s(x0)), neg(s(y1)))
COND2(false, neg(s(0)), neg(s(y1))) → DIFF(pos(0), neg(s(y1)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
COND2(true, neg(s(y0)), neg(s(s(x0)))) → DIFF(neg(s(y0)), neg(s(x0)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(false, neg(s(s(x0))), neg(s(y1))) → DIFF(neg(s(x0)), neg(s(y1)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
COND2(true, neg(s(y0)), neg(s(s(x0)))) → DIFF(neg(s(y0)), neg(s(x0)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(false, neg(s(s(x0))), neg(s(y1))) → DIFF(neg(s(x0)), neg(s(y1)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
COND2(true, neg(s(y0)), neg(s(s(x0)))) → DIFF(neg(s(y0)), neg(s(x0)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(x1))) → COND2(greater_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(false, neg(s(s(x0))), neg(s(y1))) → DIFF(neg(s(x0)), neg(s(y1)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND1(false, neg(s(s(y_1))), neg(s(x1))) → COND2(greater_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(s(y_2)))) → COND2(greater_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
COND2(true, neg(s(y0)), neg(s(s(x0)))) → DIFF(neg(s(y0)), neg(s(x0)))
DIFF(neg(s(x0)), neg(s(x1))) → COND1(equal_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1)))
COND2(false, neg(s(s(x0))), neg(s(y1))) → DIFF(neg(s(x0)), neg(s(y1)))
COND1(false, neg(s(s(y_1))), neg(s(x1))) → COND2(greater_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(s(y_2)))) → COND2(greater_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
DIFF(neg(s(s(y_1))), neg(s(x1))) → COND1(equal_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(s(y_2)))) → COND1(equal_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
COND2(true, neg(s(y0)), neg(s(s(x0)))) → DIFF(neg(s(y0)), neg(s(x0)))
COND2(false, neg(s(s(x0))), neg(s(y1))) → DIFF(neg(s(x0)), neg(s(y1)))
COND1(false, neg(s(s(y_1))), neg(s(x1))) → COND2(greater_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(s(y_2)))) → COND2(greater_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
DIFF(neg(s(s(y_1))), neg(s(x1))) → COND1(equal_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(s(y_2)))) → COND1(equal_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(true, neg(s(s(y_0))), neg(s(s(x1)))) → DIFF(neg(s(s(y_0))), neg(s(x1)))
COND2(true, neg(s(x0)), neg(s(s(s(y_1))))) → DIFF(neg(s(x0)), neg(s(s(y_1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
COND2(false, neg(s(s(x0))), neg(s(y1))) → DIFF(neg(s(x0)), neg(s(y1)))
COND1(false, neg(s(s(y_1))), neg(s(x1))) → COND2(greater_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(s(y_2)))) → COND2(greater_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
DIFF(neg(s(s(y_1))), neg(s(x1))) → COND1(equal_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(s(y_2)))) → COND1(equal_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
COND2(true, neg(s(s(y_0))), neg(s(s(x1)))) → DIFF(neg(s(s(y_0))), neg(s(x1)))
COND2(true, neg(s(x0)), neg(s(s(s(y_1))))) → DIFF(neg(s(x0)), neg(s(s(y_1))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
COND2(false, neg(s(s(x0))), neg(s(s(y_1)))) → DIFF(neg(s(x0)), neg(s(s(y_1))))
COND2(false, neg(s(s(s(y_0)))), neg(s(x1))) → DIFF(neg(s(s(y_0))), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDPOrderProof
↳ QDP
COND1(false, neg(s(s(y_1))), neg(s(x1))) → COND2(greater_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(s(y_2)))) → COND2(greater_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
DIFF(neg(s(s(y_1))), neg(s(x1))) → COND1(equal_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(s(y_2)))) → COND1(equal_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
COND2(true, neg(s(s(y_0))), neg(s(s(x1)))) → DIFF(neg(s(s(y_0))), neg(s(x1)))
COND2(true, neg(s(x0)), neg(s(s(s(y_1))))) → DIFF(neg(s(x0)), neg(s(s(y_1))))
COND2(false, neg(s(s(x0))), neg(s(s(y_1)))) → DIFF(neg(s(x0)), neg(s(s(y_1))))
COND2(false, neg(s(s(s(y_0)))), neg(s(x1))) → DIFF(neg(s(s(y_0))), neg(s(x1)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
COND2(false, neg(s(s(x0))), neg(s(s(y_1)))) → DIFF(neg(s(x0)), neg(s(s(y_1))))
COND2(false, neg(s(s(s(y_0)))), neg(s(x1))) → DIFF(neg(s(s(y_0))), neg(s(x1)))
Used ordering: Polynomial interpretation [POLO]:
COND1(false, neg(s(s(y_1))), neg(s(x1))) → COND2(greater_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(s(y_2)))) → COND2(greater_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
DIFF(neg(s(s(y_1))), neg(s(x1))) → COND1(equal_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(s(y_2)))) → COND1(equal_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
COND2(true, neg(s(s(y_0))), neg(s(s(x1)))) → DIFF(neg(s(s(y_0))), neg(s(x1)))
COND2(true, neg(s(x0)), neg(s(s(s(y_1))))) → DIFF(neg(s(x0)), neg(s(s(y_1))))
POL(0) = 0
POL(COND1(x1, x2, x3)) = x2
POL(COND2(x1, x2, x3)) = x2
POL(DIFF(x1, x2)) = x1
POL(equal_int(x1, x2)) = 0
POL(false) = 0
POL(greater_int(x1, x2)) = 0
POL(neg(x1)) = x1
POL(s(x1)) = 1 + x1
POL(true) = 0
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
COND1(false, neg(s(s(y_1))), neg(s(x1))) → COND2(greater_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(s(y_2)))) → COND2(greater_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
DIFF(neg(s(s(y_1))), neg(s(x1))) → COND1(equal_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(s(y_2)))) → COND1(equal_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
COND2(true, neg(s(s(y_0))), neg(s(s(x1)))) → DIFF(neg(s(s(y_0))), neg(s(x1)))
COND2(true, neg(s(x0)), neg(s(s(s(y_1))))) → DIFF(neg(s(x0)), neg(s(s(y_1))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
COND2(true, neg(s(s(y_0))), neg(s(s(x1)))) → DIFF(neg(s(s(y_0))), neg(s(x1)))
COND2(true, neg(s(x0)), neg(s(s(s(y_1))))) → DIFF(neg(s(x0)), neg(s(s(y_1))))
Used ordering: Polynomial interpretation [POLO]:
COND1(false, neg(s(s(y_1))), neg(s(x1))) → COND2(greater_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(s(y_2)))) → COND2(greater_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
DIFF(neg(s(s(y_1))), neg(s(x1))) → COND1(equal_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(s(y_2)))) → COND1(equal_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
POL(0) = 0
POL(COND1(x1, x2, x3)) = x3
POL(COND2(x1, x2, x3)) = x3
POL(DIFF(x1, x2)) = x2
POL(equal_int(x1, x2)) = 0
POL(false) = 0
POL(greater_int(x1, x2)) = 0
POL(neg(x1)) = x1
POL(s(x1)) = 1 + x1
POL(true) = 0
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
COND1(false, neg(s(s(y_1))), neg(s(x1))) → COND2(greater_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
COND1(false, neg(s(x0)), neg(s(s(y_2)))) → COND2(greater_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
DIFF(neg(s(s(y_1))), neg(s(x1))) → COND1(equal_int(neg(s(y_1)), neg(x1)), neg(s(s(y_1))), neg(s(x1)))
DIFF(neg(s(x0)), neg(s(s(y_2)))) → COND1(equal_int(neg(x0), neg(s(y_2))), neg(s(x0)), neg(s(s(y_2))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(z0))) → DIFF(neg(0), minus_nat(s(0), s(z0)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
greater_int(neg(0), neg(0)) → false
greater_int(neg(0), neg(s(y))) → true
greater_int(neg(s(x)), neg(0)) → false
greater_int(neg(s(x)), neg(s(y))) → greater_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
greater_int(pos(0), pos(0)) → false
greater_int(pos(0), pos(s(y))) → false
greater_int(pos(s(x)), pos(0)) → true
greater_int(pos(s(x)), pos(s(y))) → greater_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(z0))) → DIFF(neg(0), minus_nat(s(0), s(z0)))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
greater_int(pos(0), pos(0))
greater_int(pos(0), neg(0))
greater_int(neg(0), pos(0))
greater_int(neg(0), neg(0))
greater_int(pos(0), pos(s(x0)))
greater_int(neg(0), pos(s(x0)))
greater_int(pos(0), neg(s(x0)))
greater_int(neg(0), neg(s(x0)))
greater_int(pos(s(x0)), pos(0))
greater_int(neg(s(x0)), pos(0))
greater_int(pos(s(x0)), neg(0))
greater_int(neg(s(x0)), neg(0))
greater_int(pos(s(x0)), neg(s(x1)))
greater_int(neg(s(x0)), pos(s(x1)))
greater_int(pos(s(x0)), pos(s(x1)))
greater_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(z0))) → DIFF(neg(0), minus_nat(s(0), s(z0)))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND2(true, neg(0), neg(s(z0))) → DIFF(neg(0), minus_nat(0, z0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(z0))) → DIFF(neg(0), minus_nat(0, z0))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(z0))) → DIFF(neg(0), minus_nat(0, z0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
COND2(true, neg(0), neg(s(s(x0)))) → DIFF(neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(0))) → DIFF(neg(0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(s(x0)))) → DIFF(neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(0))) → DIFF(neg(0), pos(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(s(x0)))) → DIFF(neg(0), neg(s(x0)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(s(x0)))) → DIFF(neg(0), neg(s(x0)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
COND1(false, neg(0), neg(s(x0))) → COND2(true, neg(0), neg(s(x0)))
COND2(true, neg(0), neg(s(s(x0)))) → DIFF(neg(0), neg(s(x0)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(s(y_0)))) → COND2(true, neg(0), neg(s(s(y_0))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
COND2(true, neg(0), neg(s(s(x0)))) → DIFF(neg(0), neg(s(x0)))
DIFF(neg(0), neg(s(x0))) → COND1(false, neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(s(y_0)))) → COND2(true, neg(0), neg(s(s(y_0))))
DIFF(neg(0), neg(s(s(y_0)))) → COND1(false, neg(0), neg(s(s(y_0))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
COND2(true, neg(0), neg(s(s(x0)))) → DIFF(neg(0), neg(s(x0)))
COND1(false, neg(0), neg(s(s(y_0)))) → COND2(true, neg(0), neg(s(s(y_0))))
DIFF(neg(0), neg(s(s(y_0)))) → COND1(false, neg(0), neg(s(s(y_0))))
COND2(true, neg(0), neg(s(s(s(y_0))))) → DIFF(neg(0), neg(s(s(y_0))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
COND1(false, neg(0), neg(s(s(y_0)))) → COND2(true, neg(0), neg(s(s(y_0))))
DIFF(neg(0), neg(s(s(y_0)))) → COND1(false, neg(0), neg(s(s(y_0))))
COND2(true, neg(0), neg(s(s(s(y_0))))) → DIFF(neg(0), neg(s(s(y_0))))
COND1(false, neg(0), neg(s(s(y_0)))) → COND2(true, neg(0), neg(s(s(y_0))))
DIFF(neg(0), neg(s(s(y_0)))) → COND1(false, neg(0), neg(s(s(y_0))))
COND2(true, neg(0), neg(s(s(s(y_0))))) → DIFF(neg(0), neg(s(s(y_0))))
POL(0) = 0
POL(COND1(x1, x2, x3)) = 1 + x1 + x2 + x3
POL(COND2(x1, x2, x3)) = x1 + x2 + x3
POL(DIFF(x1, x2)) = 2 + x1 + x2
POL(false) = 0
POL(neg(x1)) = x1
POL(s(x1)) = 3 + x1
POL(true) = 0
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ PisEmptyProof